<?php

namespace loginUtils;

use usuariosDao\usuariosDao;
use logUtils\logUtils;


class loginUtils{
	
	var $logUtils;
	
	function __construct(){
		$this->usuariosDao = new usuariosDao();
		$this->logUtils = new logUtils();
	}
	
	
	public function comprobar_login($usuario,$clave){
		
		/*
		$info = 'Registro :'.date("d-m-Y H:i:s").' --- '.'Usuario :'.substr($usuario,0,10).' ---- Clave:'.substr($clave,0,5);
		$this->logUtils->crear_log($info);
		
		$info_usuario = $this->usuariosDao->get_info_usuario_por_nombre($usuario);
	
		$this->logUtils->crear_log("INFO USUARIO RECUPERADA : ".chr(13).chr(10).'usuario:'.$info_usuario['usuario'].chr(13).chr(10).'clave: '.substr($info_usuario['clave_hash'],0,5));
		//comprobar si ya esta logeado
// 		if($this->comprobar_sesion($usuario,$info_usuario) == true){
// 			$this->logUtils->crear_log("usuario existe");
// 			return true;//existe usuario logeado
// 		}
		
		if($this->comprobar_usuario($usuario,$clave,$info_usuario) == false){
			$this->logUtils->crear_log("FINAL usuario no existe");
			return false;
		}
		// una vez comprobada la sesion y los datos introducidos osn correctos, creamos sesion para continuar login.
		$this->logUtils->crear_log("COMPROBACIONES CORRECTAS.USUARIO OK.");*/
		
		return true;
	}
	
	private function comprobar_sesion($usuario,$info_usuario){ //funciona
		$hash_usuario = hash('sha512',$usuario);
		$this->logUtils->crear_log("HASH_USUARIO_BBDD : ".substr($hash_usuario,0,10).'--- hash USUARIO session : '.$_SESSION['usuario']);
		if(substr($hash_usuario,0,10) == substr($_SESSION['usuario'], 0,10)){ //comprueba el hash del usuario logeado y del usuario introducido
			$this->logUtils->crear_log("SESION USUARIO OK : ".$_SESSION['usuario']);
			if($_SESSION['sesion_activa']=='1'){
				$this->logUtils->crear_log("SESION USUARIO ACTIVA:".$_SESSION['sesion_activa']);
				return true;
			}
		}else{
			$this->logUtils->crear_log("USUARIO NO EXISTE EN LA SESION");
		}
	}
	
	
	private function comprobar_usuario($usuario,$clave,$info_usuario){ //funciona
	
		if(empty($usuario)){ //si usuario viene vacio
			$this->logUtils->crear_log("usuario vacio");
			return false;
		}
		if(empty($info_usuario['usuario'])){  //si usuario no existe
			$this->logUtils->crear_log("usuario no existe");
			return false;
		}
		if($info_usuario['activo'] == '0'){ // tabla valores 1 true 0 falso
			$this->logUtils->crear_log("usuario no activo");
			return false;
		}
		if($info_usuario['clave_hash'] != $clave){
			$this->logUtils->crear_log("contraseña no coinciden");
			//añadimos intento erroneo
			//$usuariosDao->sumar_intento_fallido($usuario);
			//if ($usuari['intentos_fallidos]>=5){
	
			//}
			return false;
		}
		return true;
	}

}

?>